package com.zmn.oms.common.dro.redistribute;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

/**
 * @author sunlife
 * @date:2022/5/22 上午10:53
 * description:
 */
@Data
@ApiModel("改派申请出参")
public class ApplyDRO implements Serializable {

    private static final long serialVersionUID = -5965255275682199398L;

    @ApiModelProperty("改派申请id")
    private Long redistributeId;

    @ApiModelProperty("订单id")
    private Long orderId;

    /**
     * 工单id
     */
    @ApiModelProperty("订单id")
    private Long workId;

    /**
     * 改派缘由id
     */
    @ApiModelProperty("改派缘由id")
    private Integer reasonId;

    /**
     * 核实的改派缘由id
     */
    @ApiModelProperty("核实的改派缘由id")
    private Integer auditReasonId;

    /**
     * 改派缘由
     */
    @ApiModelProperty("改派缘由")
    private String reason;

    /**
     * 服务分类id
     */
    @ApiModelProperty("服务分类id")
    private Integer servCategId;

    /**
     * 产品id
     */
    @ApiModelProperty("产品id")
    private Integer productId;

    /**
     * 产品信息
     */
    @ApiModelProperty("产品信息")
    private String productInfo;

    /**
     * 区县ID
     */
    @ApiModelProperty("区县ID")
    private Integer countyId;

    /**
     * 区县名称
     */
    @ApiModelProperty("区县名称")
    private String countyName;

    /**
     * 街道ID
     */
    @ApiModelProperty("街道ID")
    private Integer streetId;

    /**
     * 街道
     */
    @ApiModelProperty("街道")
    private String street;

    /**
     * 客户地址具体门牌号
     */
    @ApiModelProperty("客户地址具体门牌号")
    private String address;

    /**
     * 经度
     */
    @ApiModelProperty("经度")
    private Double longitude;

    /**
     * 纬度
     */
    @ApiModelProperty("纬度")
    private Double latitude;

    /**
     * 预约时间
     */
    @ApiModelProperty("预约时间")
    private Date dutyTime;

    /**
     * 申请备注
     */
    @ApiModelProperty("申请备注")
    private String applyRemark;

    /**
     * 申请图片urls，多个逗号分隔
     */
    @ApiModelProperty("申请图片urls")
    private String imageSrc;

    /**
     * 求助类型 0无 1范围 2定向
     * @see com.zmn.oms.common.enums.ConfRedistributeHelpTypeEnum
     */
    @ApiModelProperty(value = "求助类型", notes = "0无 1范围 2定向")
    private Integer helpType;

    /**
     * 审核类型 0无 1主管审核 2员工审核
     */
    @ApiModelProperty("审核类型")
    private Integer auditType;

    /**
     * 改派类型 1系统 2指定
     * @see com.zmn.oms.common.enums.ConfRedistributeTypeEnum
     */
    @ApiModelProperty(value = "改派类型", notes = "1系统 2指定")
    private Integer redistributeType;

    /**
     * 审核状态
     */
    @ApiModelProperty("审核状态")
    private Integer auditStatus;

    /**
     * 改派状态
     */
    @ApiModelProperty("改派状态")
    private Integer redistributeStatus;

    /**
     * 虚假状态 1否 2是
     */
    @ApiModelProperty(value = "虚假状态", notes = "1否 2是")
    private Integer spuriousStatus;

    /**
     * 审核预警 - 含义：5分钟内未进行审核操作
     * 1否 2是
     */
    @ApiModelProperty(value = "审核预警", notes = "5分钟内未进行审核操作 1否 2是")
    private Integer auditWarningStatus;

    /**
     * 审核超时 1否 2是
     */
    @ApiModelProperty(value = "审核超时", notes = "1否 2是")
    private Integer auditTimeoutStatus;

    /**
     * 转单求助超时 1否 2是
     */
    @ApiModelProperty(value = "转单求助超时", notes = "1否 2是")
    private Integer helpTimeoutStatus;

    /**
     * 申请人id
     */
    @ApiModelProperty("申请人id")
    private Long applyUserId;

    /**
     * 申请人
     */
    @ApiModelProperty("申请人")
    private String applyUser;

    /**
     * 申请人类型
     */
    @ApiModelProperty("申请人类型")
    private Integer applyUserType;

    /**
     * 审核人id
     */
    @ApiModelProperty("审核人id")
    private Long auditerId;

    /**
     * 审核人
     */
    @ApiModelProperty("审核人")
    private String auditer;

    /**
     * 审核备注
     */
    @ApiModelProperty("审核备注")
    private String auditRemark;

    /**
     * 改派工程师id
     */
    @ApiModelProperty("改派工程师id")
    private Integer redistributeMasterId;

    /**
     * 改派工程师名称
     */
    @ApiModelProperty("改派工程师名称")
    private String redistributeMasterName;

    /**
     * 派单网格：1网格外，2网格内，3跨网格
     */
    @ApiModelProperty(value = "派单网格", notes = "1网格外，2网格内，3跨网格")
    private Integer distributeGrid;
}
